﻿Public Class xtf_LISTADOsoldadura_

    Public Overrides Sub IniciarLista()
        Try
            gdc_general.BeginUpdate()
            gdc_general.DataSource = dtt_DataTable
            'ulg_Lista.DisplayLayout.GroupByBox.Style = Infragistics.Win.UltraWinGrid.GroupByBoxStyle.Full

            dtt_DataTable.Columns.Add("Identificador (ID)")
            dtt_DataTable.Columns.Add("Código")
            dtt_DataTable.Columns.Add("Tipo")
            dtt_DataTable.Columns.Add("Tipo de Obra")
            dtt_DataTable.Columns.Add("Nombre corto")

            dtt_DataTable.Columns.Add("Gerente")
            dtt_DataTable.Columns.Add("Cliente")
            dtt_DataTable.Columns.Add("Fecha de inicio")
            dtt_DataTable.Columns.Add("Fecha de fin")
            dtt_DataTable.Columns.Add("Estado")


            gdv_general.PopulateColumns(dtt_DataTable)

            Dim obj_centrocostoorden_ As New cls_centrocostoorden_
            If obj_centrocostoorden_.CargarTodos(ObtenerRegistroEstado) Then
                For Each centrocostoorden As cls_centrocostoorden_ In obj_centrocostoorden_.Items
                    AgregarItem(centrocostoorden)
                Next
            End If
            'ulg_Lista.DataBind()

            FiltrarColumnas()
            gdc_general.EndUpdate()
        Catch ex As Exception
            'Dim frmError As New frm_ErrorManager(ex.Message)
        End Try
    End Sub

    Public Function AgregarItem(ByRef centrocostoorden As cls_centrocostoorden_) As DataRow
        Dim Row As DataRow = dtt_DataTable.NewRow
        Row("Identificador (ID)") = centrocostoorden.idcentrocostoorden
        Row("Código") = centrocostoorden.codigo
        Row("Tipo") = EnumDescription(centrocostoorden.tipo)
        If centrocostoorden.tipo = cls_centrocostoorden_.enu_tipo.obra Then
            Row("Tipo de Obra") = EnumDescription(centrocostoorden.tipoobra)
        Else
            Row("Tipo de Obra") = ""
        End If
        Row("Nombre corto") = centrocostoorden.nombrecorto
        If Not IsNothing(centrocostoorden.personal) Then
            Row("Gerente") = centrocostoorden.personal.ToString
        Else
            Row("Gerente") = "Sin asignar."
        End If
        If Not IsNothing(centrocostoorden.cliente) Then
            Row("Cliente") = centrocostoorden.cliente.ToString
        Else
            Row("Cliente") = "Sin asignar."
        End If
        Row("Fecha de inicio") = centrocostoorden.fechainicio.ToShortDateString
        Row("Fecha de fin") = centrocostoorden.fechafin.ToShortDateString
        Row("Estado") = EnumDescription(centrocostoorden.estado)

        dtt_DataTable.Rows.Add(Row)
        'ulg_Lista.Rows(ulg_Lista.Rows.Count - 1).Height = 19
        Return Row
    End Function

    Public Sub ModificarItem(ByRef centrocostoorden As cls_centrocostoorden_, ByRef ulg_row As DataRow)
        ulg_row("Identificador (ID)") = centrocostoorden.idcentrocostoorden
        ulg_row("Código") = centrocostoorden.codigo
        ulg_row("Tipo") = EnumDescription(centrocostoorden.tipo)
        If centrocostoorden.tipo = cls_centrocostoorden_.enu_tipo.obra Then
            ulg_row("Tipo de Obra") = EnumDescription(centrocostoorden.tipoobra)
        Else
            ulg_row("Tipo de Obra") = ""
        End If
        ulg_row("Nombre corto") = centrocostoorden.nombrecorto
        ulg_row("Nombre corto") = centrocostoorden.nombrecorto
        If Not IsNothing(centrocostoorden.personal) Then
            ulg_row("Gerente") = centrocostoorden.personal.ToString
        Else
            ulg_row("Gerente") = "Sin asignar."
        End If
        If Not IsNothing(centrocostoorden.cliente) Then
            ulg_row("Cliente") = centrocostoorden.cliente.ToString
        Else
            ulg_row("Cliente") = "Sin asignar."
        End If
        ulg_row("Fecha de inicio") = centrocostoorden.fechainicio.ToShortDateString
        ulg_row("Fecha de fin") = centrocostoorden.fechafin.ToShortDateString
        ulg_row("Estado") = EnumDescription(centrocostoorden.estado)
    End Sub

    Public Sub New()

        Me.Cursor = Cursors.WaitCursor
        InitializeComponent()
        PERMISONuevo = "001051002"
        PERMISOModificar = "001051003"
        PERMISOEliminar = "001051004"
        PERMISOImprimir = "001051005"
        Me.Text = lbl_modulo.Text : lbl_modulodescripcion.Text = "Listado de " & lbl_modulo.Text & "."
        IniciarLista()
        Me.Cursor = Cursors.Default
        bbi_Nuevo.Enabled = False
        bbi_eliminar.Enabled = False
    End Sub

    Public Overrides Sub bbi_Nuevo_ItemClick(ByVal sender As Object, ByVal e As DevExpress.XtraBars.ItemClickEventArgs)

    End Sub

    Public Overrides Sub bbi_Modificar_ItemClick(ByVal sender As Object, ByVal e As DevExpress.XtraBars.ItemClickEventArgs)
        If ComprobarPermiso(PERMISOModificar) Then
            Try
                Dim obra As New cls_centrocostoorden_
                If gdv_general.SelectedRowsCount > 0 Then
                    If obra.Buscar(gdv_general.GetDataRow(gdv_general.GetSelectedRows(0))("Identificador (ID)")) Then
                        bsi_estado.Caption = "Cargando..."
                        Application.DoEvents()
                        Dim ABM As New xtf_ABMsoldadura_(obra) 'New xtf_ABMbarrio
                        ABM.Show()
                        bsi_estado.Caption = "Listo"
                    End If
                End If
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End If


    End Sub
End Class